Built-in self-test (BIST) logic can be included as part of integrated circuit (IC) chips in order to test internal logic. Logic built-in self-test (LBIST) is an example of self-test logic that can verify the functional logic of a chip. LBIST uses a process that is similar to memory BIST (MBIST), which is used to test memory contents. The LBIST can test the circuit logic by using an output of an automatic test pattern generation (ATPG) or a pseudo-random pattern generator (PRPG) to generate input signals that are scanned into latches of scan chains or scan channels. The scan chains can include multiple scan elements and shift registers that are arranged in a serial chain. Control logic (e.g., in the form of a state machine) generates clock(s) that are provided to the scan chains and that control the capture of output from the scan chains. The captured output values are then scanned into a multiple-input shift register (MISR). The MISR values can then be used to verify the circuit functionality.
Examples of ICs that can use built-in self-test logic include, but are not limited to, digital signal processors (DSPs), general purpose computer processors, programmable integrated circuits, programmable logic devices (PLDs), and System on Chip (SoC) devices. PLDs are a type of programmable integrated circuit (IC) that can be programmed to perform specified logic functions. One type of PLD, the field programmable gate array (FPGA), can include an array of programmable tiles. These programmable tiles comprise various types of logic blocks, which can include, for example, input/output blocks (IOBs), configurable logic blocks (CLBs), dedicated block random access memory (BRAM), multipliers, digital signal processing blocks (DSPs), processors, clock managers, delay locked loops (DLLs), bus or network interfaces such as Peripheral Component Interconnect (PCI), PCI Express (PCIe), Ethernet, and so forth. Some devices include enough components and functionality to effectively serve as an entire computer system on a single IC chip. Devices with such functionality are sometimes referred to as SoCs. Some SoC devices can include programmable logic that is similar to programmable logic provided by various PLDs.
The various circuits can suffer from issues with long self-test run time, timing issues when running self-tests on IC chips with multiple clock domains, and high dynamic power consumption during self-testing. These and other problems can be problematic for self-test circuits and their operation.